The present invention relates to a method and apparatus for controlling the movement of a movable member in accordance with programmed path and velocity, and particularly to a method and apparatus for use in a numerical control contouring machine enabling the programming of higher speeds of operation for curved and straight-line paths while reducing positional errors and maintaining the acceleration and deceleration at a prescribed value.
Several systems are presently in use to control velocity changes in numerical control contouring machines.
One system uses a high-gain positioning servo for each axis and controls its axis drive in a manner tending to keep at zero the difference between the commanded position and the actual position of the axis. While that difference (called the servo-following-error) will be quite small, it will not be zero but will vary with the velocity. A common value for such servo is 0.001 inch following-error per 100 IPM axis velocity. If an axis controlled by such a servo is moving at 100 IPM when the part program reaches a corner and says stop, there will only be 0.001 inch of programmed motion left to decelerate and stop. The inertia of the system will not allow this, and the axis will overshoot and then come back. That overshoot may cause damaging mechanical shocks or gouging of the workpiece. To avoid such difficulties with a high-gain servo, it is necessary to program the speed increases or slow-downs gradually, in a series of small steps. Such calculations can make it necessary to utilize an off-line computer to prepare the part-programs for even the most simple pattern of motions.
Another system, called the low-gain type of servo, which operates with a large servo-following error, has become popular to avoid the overshoot and the program difficulties caused by the necessity of making all speed changes in small steps. In the low-gain servo system, the servo-following error is commonly 0.001 inch for a range from 0.5 to 3 IPM axis velocity. For example, if the calibration of such a system is 0.5 IPM per mill (0.001 inch) then at a velocity of 400 IPM the actual axis position will lag the commanded position by 0.800 inches. That is a sufficient distance so that if the commanded velocity abruptly decreases to zero, the axis can slow down without overshooting the commanded position. Programming becomes much simpler since the motions do not have to be broken up into a number of accelerations and deceleration steps.
However, the above low-gain system has a number of disadvantages as compared to the high-gain system.
Thus, the low-gain system requires the use of a very precise tachometer to produce the feedback signal representing the actual velocity. It also requires a very high degree of linearity, and moreover, each axis must be closely matched with the others as to servo gains. Insofar as these conditions are not realised, the actual straight paths will deviate from the prescribed. Further, the circuits and signals involved are analog and will suffer from some degree of drift due to temperature variations and component aging, and these errors will be greater for higher velocities. This is to be contrasted with high-gain small following-error systems, wherein even a substantial mismatch between the axes can only cause a very small path inaccuracy. The path deviation will be a portion of the servo following-error. For the high-gain servo, the following-error can be as low as one-hundredth that of the low-gain type, and accordingly its deviation from the described path will also be much less.
Further, in the low-gain following-error system, the path deviation, caused by the commanded-path being curved or of changing direction, is greater for larger following-errors or for tighter curves. The explanation for this particular inexactness is that the servo produces a motion vector that is a straight line directed along the servo following-error. The direction of the vector will not recognise any curvature that may have existed between the current actual position and the commanded position. With a low-gain type servo, that path deviation can be reduced either by slower speeds, or in the case of a corner, by providing a dwell.